package com.heo.web.util ;
import java.util.List;
import java.util.Map;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

public class GsonUtils {

	/**
	 * map转换为json String数据
	 * 
	 * @param body
	 * @param reqhead
	 */
	public static String objectToJson(Object obj) {
		Gson gson = new Gson();
		String json = gson.toJson(obj);
		return json;
	}

	/**
	 * json数据转换为具体的object
	 * 
	 * @param jsonString
	 * @param obj
	 * @return
	 */
	public static Object jsonToObject(String jsonString,
			Class<? extends Object> clas) {
		Gson gson = new Gson();
		return gson.fromJson(jsonString, clas);
	}

	/**
	 * json数据转换为具体的List<Object>
	 * 
	 * @param jsonString
	 * @param obj
	 * @return
	 */
	public static List<Object> jsonToLists(String jsonString) {
		// json转为带泛型的list
		Gson gson = new Gson();
		List<Object> retList = gson.fromJson(jsonString,
				new TypeToken<List<Object>>() {
				}.getType());
		return retList;
	}
	
	/**
	 * Map<String, Object> object 不能是基本类型外的其他对象
	 * 
	 * @param jsonString
	 * @return
	 */

	public static Map<String, Object> jsonToMap(String jsonString) {
		Gson gson = new Gson();
		Map<String, Object> maps = gson.fromJson(jsonString, new TypeToken<Map<String, Object>>() {
		}.getType());
		return maps;
	}
}
